import request from '@/config/axios'
import type { Dayjs } from 'dayjs';

/** 权限资源信息 */
export interface Resource {
          id: string; // 资源Id
          menuId?: string; // 菜单Id
          name?: string; // 资源名称
          schema?: string; // 权限标识
          description: string; // 资源描述
          createUser: string; // 创建人
          createDate: string | Dayjs; // 创建日期
          lastModifiedUser: string; // 最后修改人
          lastModifiedDate: string | Dayjs; // 最后修改日期
  }

// 权限资源 API
export const ResourceApi = {
  // 查询权限资源分页
  getResourcePage: async (params: any) => {
    return await request.get({ url: `/system/sys_resource/page`, params })
  },

  // 查询权限资源详情
  getResource: async (id: number) => {
    return await request.get({ url: `/system/sys_resource/get?id=` + id })
  },

  // 新增权限资源
  createResource: async (data: Resource) => {
    return await request.post({ url: `/system/sys_resource/add`, data })
  },

  // 修改权限资源
  updateResource: async (data: Resource) => {
    return await request.post({ url: `/system/sys_resource/update`, data })
  },

  // 删除权限资源
  deleteResource: async (id: number) => {
    return await request.get({ url: `/system/sys_resource/delete?id=` + id })
  },

  /** 批量删除权限资源 */
  deleteResourceList: async (ids: number[]) => {
    return await request.get({ url: `/system/sys_resource/delete-list?ids=${ids.join(',')}` })
  },

  // 导出权限资源 Excel
  exportResource: async (params) => {
    return await request.download({ url: `/system/sys_resource/export-excel`, params })
  }
}